// function foo() {
//     // this
//     return (a) => { 
//         console.log(this.a);
//     }
// }

// var obj1 = {
//     a:2
// }

// var obj2 = {
//     b:3
// }

// var bar = foo.call(obj1)

// bar.call(obj2)

// 箭头函数没有this概念，看到this关键字，也不是代表自己的作用域
// 箭头函数中this代表的是函数外层的function的作用域

function foo() {
    setTimeout(function() {
        console.log(this.a); // 回调里的this指向window
    },1000)
}

var obj = {
    a:2
}

foo.call(obj)